package com.ruoyi.finance.domain.vo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.annotation.Excel;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @Author: tjk
 * @Date: 2025/2/26 19:39
 * @Description:
 **/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class CredentialRollupVo {


    /** 凭证明细id */
    @Excel(name = "凭证明细Id")
    private Long voucherDetailId;

    /** 科目编码 */
    @Excel(name = "科目编号")
    private String number;

    /** 科目名称 */
    @Excel(name = "科目项目")
    private String name;

    /** 贷方金额 */
    @Excel(name = "借方金额")
    private BigDecimal debitAmount;

    /** 贷方金额 */
    @Excel(name = "贷方金额")
    private BigDecimal creditAmount;

    /** 凭证id，关联凭证表的id */
    private Long voucherId;

    /** 科目id，关联科目表的id */
    private Long accountId;
    //汇总日期
    private Date voucherDate;

    //凭证字id，关联凭证字表的id
    private Long voucherWordId;



    //汇总开始时间
    @TableField(exist = false)
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8", shape = JsonFormat.Shape.STRING)
    private Date startTime;
    //汇总结束时间
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8", shape = JsonFormat.Shape.STRING)
    @TableField(exist = false)
    private Date endTime;
    //开始凭账号
    @TableField(exist = false)
    private Long startAccountId;
    //结束凭账号
    @TableField(exist = false)
    private Long endAccountId;
    //科目id
    @TableField(exist = false)
    private Long subjectId;

    @TableField(exist = false)
    private Long all;

//    @TableField(exist = false)
//    private BigDecimal allDebitAmount;
//
//    @TableField(exist = false)
//    private BigDecimal allCreditAmount;
//
//    @TableField(exist = false)
//    private BigDecimal  TotalAmount;


}
